package com.boilermaker.demo.common;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

// Web 相关配置：实现 WebMvcConfigurer 接口
@Configuration
public class WebConfig implements WebMvcConfigurer {
    // 首先注入已经定义好的拦截器
    @Autowired
    LoginInterceptor loginInterceptor;

    // WebMvcConfigurer 中有许多可配置项，根据需要重写对应的方法即可
    // 配置拦截器需要重写 addInterceptors 方法
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 设置拦截路径和排除路径
        registry.addInterceptor(loginInterceptor)
                .addPathPatterns("/**") // 拦截全部请求
                .excludePathPatterns("/user/login") // 排除登录界面
                .excludePathPatterns("/**/*.js") // 排除静态界面
                .excludePathPatterns("/**/*.css")
                .excludePathPatterns("/**/*.png")
                .excludePathPatterns("/**/*.html");
    }
}
